1. Field of the Invention
The present invention relates generally to improvements in apparatus for retrieval of magnetically recorded data from a disc drive data track, and more particularly, but not by way of limitation, to improvements in apparatus for implementing the Viterbi algorithm in a disc drive PRML read channel.
2. Brief Description of the Prior Art
In disc drives used to store computer files, the files are stored along concentric data tracks defined in magnetizable coatings on the surfaces of rotating discs. To this end, write heads are positioned adjacent the disc surfaces and are radially movable to align with a track selected to store a file so that the track can be magnetized by passing a current through the write head. The direction in which the data track is magnetized is determined by the direction of the current through the write head so that a file can be stored by magnetizing the track in a pattern that is derived from the file. More particularly, the write head current is supplied by a write driver to which a sequence of bits derived from the file is clocked and the direction of the current in each clock period is determined by the logic values of bits received by the write driver. (As is known in the art, it is common practice to encode user data prior to storage on a disc.) Consequently, successive segments of the data track will be magnetized in a pattern that reflects the contents of the file. The magnetized track segments, or data elements, in turn, produce a magnetic field that can be sensed by a read head to generate an electrical signal that varies with time in a way that reflects the sequence of data elements along the data track to permit recovery of the file.
In a conventional disc drive, the write driver reverses the direction of the current through the write head each time a logical 1 occurs in the sequence of bits received by the write driver to, in turn, reverse the direction of magnetization of the magnetic medium along the track each time a logical 1 occurs in the sequence. During subsequent reading, each reversal in the magnetization of the data track, a so-called flux transition, gives rise to a peak in the signal generated by the read head and peak detection circuitry is used to place the peaks within "read windows" established by a phase locked loop that receives signals from the peak detection circuitry to establish a read clock that is synchronized with the passage of flux transitions by the read head. More particularly, the occurrence of a signal peak within a read window is an indicator of a flux transition along the data track. Consequently, since the flux transitions are generated by logical 1's in the encoded user file, the occurrence of a signal peak indicates a logical 1 in the sequence of data bits that were received by the write driver. The read phase locked loop is then used to clock logical 1's for those read windows in which peaks are detected, and logical 0's for those read windows in which peaks are not detected, to circuitry which regenerates the stored file.
While conventional disc drives which make use of the above scheme are able to operate reliably to store large quantities of data, it has become increasingly difficult to push the data storage capacity of disc drives of this type to higher and higher levels that are demanded by users of disc drives. More particularly, the data storage capacity of a disc drive depends upon the transfer rate of data bits between the write head and a data track and between the data track and a read head and problems have arisen with increasing the transfer rates of drives of the generic type.
Several effects tend to limit transfer rate in conventional disc drives. The synchronization between the read clock and the passage of flux transitions by the read head depends upon the correspondence between peaks in the signal induced in the read head and passage of individual flux transitions by the read head. However, the magnetic field from which the read head signal is derived is a superposition of the magnetic fields produced by all of the flux transitions on the disc. Consequently, as the transfer rate is increased, to decrease the spacing of flux transitions along a data track, so-called "intersymbol interference"; that is, significant superposition of magnetic fields from successive flux transitions on a data track, causes peaks in the read head to be shifted in time from the times that such peaks would occur for an isolated flux transition. While the effects of peak shift can be minimized; for example, by pulse slimming, encoding of user data and prewrite compensation, it remains a problem with peak detect disc drives that limits the transfer rate of data in such a disc drive.
Moreover, the superposition of magnetic fields of successive flux transitions gives rise to a second problem. The fields produced by adjacent flux transitions superpose destructively so that the magnitude of the signal induced in a read head by passage of a flux transition decreases with increasing transfer rate. Consequently, the signal to noise ratio of the output of the read head decreases with increasing transfer rate to increase the number of errors that occur during the reading of data. While, as in the case of peak shift, corrective measures; for example, adaptive signal filtering and the use of error detection and correction circuitry, can be taken, it becomes increasingly difficult to employ these measures as the transfer rate is increased. The net result is that, while room for improvement of disc drives that make use of peak detection circuitry may still exist, the improvements are achieved only by measures that are becoming increasingly difficult and expensive to employ.
Because of this difficulty in increasing the data transfer rate in disc drives employing peak detection in the read channel, practitioners have, in recent years, turned to the use of so-called PRML read channels in disc drives. In disc drives of this type, partial response signaling is utilized to control, rather than to suppress, intersymbol interference and the effect of noise is minimized by the use of maximum likelihood detection of the magnetization of sequences of segments of the data track. To this end, signals corresponding to individual flux transitions are filtered to a signal which, in the absence of noise, would have a nominal form and the signals are then sampled at times determined in relation to this nominal form for maximum likelihood detection in which each bit of encoded data is recovered in the context of the sequence of bits that were written to the disc to limit the effect of noise.
More particularly, filtering the individual flux transition signal to a particular wave form results in samples that, in the presence of intersymbol interference and in the absence of noise, can have only specific values that are determined by the totality of data elements along a data track being read. Consequently, by appropriately precoding previously encoded user data so that the encoded data bits can be written in terms of the data elements that are written to a data track, using the samples to determine the sequence of data elements along the data track during reading, and then postcoding the sequence of data elements in accordance with the precoding relationship, the encoded user data can be recovered for decoding and return to a computer.
The effect of noise in the determination of the sequence of data elements is limited by maximum likelihood detection of the data elements using a scheme that has been described, for class IV partial response signaling that is used in the present invention, by M.J. Ferguson in "Optimal Reception for Binary Partial Response Channels", The Bell System Technical Journal, Vol. 51, No. 2, February 1972, pp 493-505. In this scheme, referred to as the Viterbi algorithm, the samples are used to determine the most likely sequence of data elements along the track in accordance with a criterion that takes noise in the samples into account. More particularly, a retrospective test is applied following the reception of each sample to determine whether the most likely value of the first of two data elements that would determine the sample magnitude in the absence of noise can be determined in accordance with the criterion. If not, the most likely value of the second of these two data elements is the same as the most likely value of the first. Thus, once the test yields the most likely value for one data element, it yields the most likely values of data elements back to the last element for which a positive test result was achieved. Thus, each time a positive result is achieved the most likely sequence of data elements preceding the positive result will be known so that most likely sequence of bits of the encoded user file, to the time the sample is taken, can be determined.
In prior art disc drives which make use of partial response signaling and maximum likelihood detection, the practice has been to digitize the signal induced in the read head by passage of flux transitions and implement the Viterbi decoder used to recover the data elements in digital circuitry. However, there are drawbacks to the use of such an approach. Thus, for example, complex circuitry is required to achieve a high resolution of sample amplitudes expressed in digital form and a low resolution limits the effectiveness of the circuitry used for maximum likelihood detection. Moreover, if the digitization is carried out in the filtering of the signals to the nominal form, as is the standard practice, proper timing of the sampling becomes increasing difficult. Since improper timing will result in sample values that differ from the samples determined from the nominal wave form, the effect is the same as the introduction of increased noise levels into the samples. Thus, digital implementation of maximum likelihood detection circuitry tends to limit the extent to which the advantages of partial response signaling and maximum likelihood detection over peak detection used in conventional disc drives can be achieved.
Further, the manner in which the Viterbi algorithm determines the most likely sequence of data elements along a data track gives rise to a second problem. Since the test employed in the algorithm is retrospective and, further, since the test may not yield a positive result for a series of samples, the most likely sequence of data elements generally will not be determined as each sample is taken. Rather, the algorithm determines sequences of data elements after a varying number of samples have been taken. Consequently, some means must be employed to delay the output of the sequences until a determination has been made. This delay requirement can also give rise to complexities in circuitry used to implement the algorithm.